home *** CD-ROM | disk | FTP | other *** search
- function render()
- {
- if(xpos < 50)
- {
- xpos = 55;
- trace("RETURN TO SENDER!");
- }
- if(xpos > 550)
- {
- xpos = 550;
- }
- _Y = mRound(ypos);
- _X = mRound(xpos);
- }
- function setY(traction)
- {
- onGround = true;
- onTraction = true;
- var _loc1_ = downY3 * TILE_H - TILE_H;
- ypos = _loc1_ + mAbs(gravity);
- yspeed = 0;
- }
- function updateEdges()
- {
- downY = mFloor((ypos + 31) / TILE_H);
- upY = mFloor((ypos - 31) / TILE_H);
- leftX = mFloor((xpos - 15) / TILE_W);
- rightX = mFloor((xpos + 15) / TILE_W);
- downY2 = mFloor((ypos + 26) / TILE_H);
- upY2 = mFloor((ypos - 26) / TILE_H);
- downY3 = mFloor((ypos + 32) / TILE_H);
- centerY = mFloor(ypos / TILE_H);
- centerX = mFloor(xpos / TILE_W);
- }
- if(home.starting)
- {
- bubble = 0;
- }
- var speed = 6.5;
- var jumpspeed = 12;
- var jPad = 35;
- var health;
- var mFloor = Math.floor;
- var mAbs = Math.abs;
- var mRound = Math.round;
- var KDN = Key.isDown;
- var kL = 37;
- var kR = 39;
- var kU = 38;
- var kD = 40;
- var kS = 32;
- var cMap = home.cMap;
- var TILE_W = home.TILE_W;
- var TILE_H = home.TILE_H;
- var baseGrav = gravity = 0.9;
- var groundFriction = 0.8;
- var airFriction = 0.9;
- this.onEnterFrame = function()
- {
- var _loc2_ = this;
- if(home.charAlive)
- {
- if(xspeed < 0.5 && xspeed > 0 || xspeed > -0.5 && xspeed < 0)
- {
- xspeed = 0;
- }
- if(gummed && onGround && !home.respawn)
- {
- trace("DE-GUM YOURSELF");
- gummed = false;
- charArt.splat_mc._visible = false;
- charArt.gotoAndStop("degum");
- }
- if(KDN(kS))
- {
- if(!gummed)
- {
- if(!home.respawn)
- {
- yspeed = - speed + 2;
- if(bubble < 100)
- {
- bubble += 5;
- if(bubble_snd == undefined || bubble_snd.position == bubble_snd.duration)
- {
- bubble_snd = new Sound();
- bubble_snd.atcPlay("bubbleUp2");
- }
- }
- flying = true;
- traction = 0;
- gravity = -1 * (bubble / 100);
- }
- }
- }
- else
- {
- if(bubble > 0)
- {
- bubble -= 5;
- }
- flying = false;
- if(gravity < 0)
- {
- gravity *= bubble / 100;
- }
- else
- {
- gravity = baseGrav;
- }
- }
- bubble_mc._xscale = bubble_mc._yscale = bubble;
- if(KDN(kU))
- {
- if(onGround)
- {
- if(!home.respawn)
- {
- if(!flying)
- {
- jump_snd = new Sound();
- jump_snd.atcPlay("jump");
- }
- jt = getTimer();
- yspeed = - jumpspeed;
- charArt.gotoAndStop("jump");
- }
- }
- }
- if(KDN(kL) && !gummed && !home.respawn)
- {
- if(!gummed)
- {
- if(!home.respawn)
- {
- xspeed = - speed + traction;
- dirX = -1;
- hitbox._yscale = 100;
- if(!onGround)
- {
- if(flying)
- {
- charArt.gotoAndStop("flyLeft");
- }
- else
- {
- charArt.gotoAndStop("airLeft");
- }
- anim = "airLeft";
- bubble_mc._x = -10;
- }
- else
- {
- home.landing = false;
- charArt.gotoAndStop("left");
- anim = "left";
- }
- }
- }
- }
- else if(KDN(kR))
- {
- if(!gummed)
- {
- if(!home.respawn)
- {
- xspeed = speed + traction;
- dirX = 1;
- hitbox._yscale = 100;
- if(!onGround)
- {
- if(flying)
- {
- charArt.gotoAndStop("flyRight");
- }
- else
- {
- charArt.gotoAndStop("airRight");
- }
- anim = "airRight";
- bubble_mc._x = 10;
- }
- else
- {
- home.landing = false;
- charArt.gotoAndStop("right");
- anim = "right";
- }
- }
- }
- }
- else if(KDN(kD))
- {
- if(!gummed)
- {
- if(!home.respawn)
- {
- if(onGround)
- {
- hitbox._yscale = 50;
- charArt.gotoAndStop("duck");
- anim = "duck";
- }
- else
- {
- charArt.gotoAndStop("fall");
- anim = "fall";
- }
- }
- }
- }
- else
- {
- dirX = 0;
- hitbox._yscale = 100;
- bubble_mc._x = 0;
- if(onGround)
- {
- if(home.respawn)
- {
- charArt.gotoAndStop("respawn");
- anim = "respawn";
- }
- else if(!home.landing)
- {
- if(!home.respawn)
- {
- charArt.gotoAndStop("idle");
- anim = "idle";
- }
- }
- }
- else if(flying)
- {
- charArt.gotoAndStop("fly");
- anim = "fly";
- }
- else if(!home.respawn)
- {
- charArt.gotoAndStop("fall");
- anim = "fall";
- }
- }
- if(!onGround)
- {
- yspeed += gravity;
- yspeed *= airFriction;
- traction = 0;
- }
- if(onGround)
- {
- xspeed *= groundFriction;
- }
- if(cMap[downY + 1][centerX] == 9)
- {
- home.nextMap(xpos,ypos,gummed,bubble);
- trace("CHANGE MAP");
- }
- if(cMap[upY - 1][centerX] == 8)
- {
- home.prevMap(xpos,ypos,gummed,bubble);
- trace("CHANGE MAP");
- }
- if(cMap[DownY][centerX] == 7)
- {
- if(home.exit)
- {
- home.endLevel();
- trace("NEXT LEVEL!");
- }
- }
- if(cMap[DownY][centerX] == 10)
- {
- home.display["spring_mc_" + DownY + "_" + centerX].gotoAndPlay(2);
- yspeed = - jPad;
- if(gummed)
- {
- gummed = false;
- charArt.splat_mc._visible = false;
- }
- }
- if(cMap[upY][centerX] == 4)
- {
- if(flying)
- {
- trace("Setting Gummed to TRUE");
- charArt.splat_mc._visible = true;
- gummed = true;
- bubble = 0;
- bubble_pop.gotoAndPlay(2);
- trace("SPIKES!");
- flying = false;
- }
- }
- ypos += yspeed;
- xpos += xspeed + traction * 3;
- updateEdges();
- if(!home.invul)
- {
- var _loc3_ = 0;
- while(_loc3_ < home.totalEnemy)
- {
- if(_loc2_.hitBox.hitTest(home.display["enemy" + _loc3_].hitbox))
- {
- home.alrtsAdd("chomped");
- xspeed = 0;
- hit = new Sound();
- hit.atcPlay("hit1");
- if(flying)
- {
- flying = false;
- trace("Setting Gummed to TRUE");
- charArt.splat_mc._visible = true;
- gummed = true;
- bubble = 0;
- bubble_pop.gotoAndPlay(2);
- }
- else
- {
- yspeed = -2;
- }
- if(home.display["enemy" + _loc3_]._x > xpos)
- {
- trace("enemy right");
- }
- else
- {
- trace("enemy left");
- }
- ypos += yspeed;
- xpos += xspeed;
- _loc2_.render();
- home.hud_BKG.health_mc["mark" + (home.charHits + 1)].gotoAndStop(2);
- trace("collision");
- home.charHits = home.charHits + 1;
- if(home.charHits >= home.charHealth)
- {
- trace("You Are Now Dead");
- home.charAlive = false;
- home.endGame(1);
- break;
- }
- home.enCol[home.display["enemy" + _loc3_].id] = true;
- home.invul = true;
- home.invul_interval = setInterval(home.checkInvul,home.invulLoopTime);
- home.display.char.rotateTo(720,0.5,"easeOutQuad");
- }
- else
- {
- home.enCol[home.display["enemy" + _loc3_].id] = false;
- }
- _loc3_ = _loc3_ + 1;
- }
- }
- _loc3_ = 0;
- while(_loc3_ < home["pu_" + home.currentMap].length)
- {
- var _loc1_ = "pickup" + _loc3_;
- if(_loc2_.hitBox.hitTest(home.display[_loc1_]))
- {
- pu_snd = new Sound();
- pu_snd.atcPlay("eat");
- home.CumulativePoints.collected = home.CumulativePoints.collected + 1;
- home.hud_BKG.points += home.puValue;
- trace("\n =========");
- trace("you just picked up pickup #" + home.display[_loc1_].id);
- trace("you just picked up pickup #" + home["pu_" + home.currentMap][home.display[_loc1_].id]);
- home.display[_loc1_].removeMovieClip();
- home.itemsGrabbed = home.itemsGrabbed + 1;
- trace(home.itemsGrabbed + " / " + home.totalPickups);
- if(home.itemsGrabbed >= home.totalPickups)
- {
- home.alrtsAdd("portalOpen");
- trace("Level Complete!");
- home.display.exit_mc.gotoAndStop(2);
- home.exit = true;
- }
- trace("\n");
- trace("BEFORE: " + home["pu_" + home.currentMap]);
- delete home["pu_" + home.currentMap][_loc3_];
- trace(" AFTER: " + home["pu_" + home.currentMap]);
- trace("\n");
- }
- _loc3_ = _loc3_ + 1;
- }
- if(!home.invul)
- {
- for(_loc3_ in home.enCol)
- {
- if(home.enCol[_loc3_])
- {
- _loc2_._alpha = 25;
- break;
- }
- _loc2_._alpha = 100;
- }
- }
- if(!onSlope)
- {
- if(cMap[downY2][leftX] == 1 || cMap[upY2][leftX] == 1 || cMap[centerY][leftX] == 1)
- {
- xpos -= xspeed;
- xspeed = 0;
- updateEdges();
- }
- if(cMap[downY2][rightX] == 1 || cMap[upY2][rightX] == 1 || cMap[centerY][rightX] == 1)
- {
- xpos -= xspeed;
- xspeed = 0;
- updateEdges();
- }
- }
- if(!onGround)
- {
- if(cMap[upY][leftX] == 1 || cMap[upY][rightX] == 1 || (cMap[upY][leftX] == 5 || cMap[upY][rightX] == 5) || (cMap[upY][leftX] == 6 || cMap[upY][rightX] == 6))
- {
- var roof = upY * TILE_H + TILE_H * 2;
- if(!onSlope)
- {
- ypos = roof - mAbs(gravity);
- yspeed = 0;
- }
- xspeed *= groundFriction;
- updateEdges();
- }
- }
- updateEdges();
- if(!flying)
- {
- if(cMap[downY][centerX] == 2)
- {
- if(!onGround)
- {
- if(!home.respawn)
- {
- home.landing = true;
- charArt.gotoAndStop("land");
- }
- }
- onGround = true;
- onSlope = true;
- var ground = downY * TILE_H - TILE_H;
- var xp = centerX * TILE_W - _loc2_._x;
- if(ypos > ground + TILE_H + xp)
- {
- ypos = ground + TILE_H + xp;
- }
- }
- else if(cMap[downY][centerX] == 3)
- {
- if(!onGround)
- {
- if(!home.respawn)
- {
- home.landing = true;
- charArt.gotoAndStop("land");
- }
- }
- onGround = true;
- onSlope = true;
- var ground = downY * TILE_H;
- var xp = _loc2_._x - centerX * TILE_W;
- if(ypos > ground + xp - TILE_W)
- {
- ypos = ground + xp - TILE_W;
- }
- }
- else
- {
- onSlope = false;
- }
- }
- else
- {
- onSlope = false;
- }
- if(cMap[downY3][leftX] == 1 || cMap[downY3][rightX] == 1)
- {
- if(!onGround)
- {
- home.landing = true;
- if(!home.respawn)
- {
- charArt.gotoAndStop("land");
- }
- jlt = getTimer();
- }
- if(!onSlope)
- {
- traction = 0;
- setY(traction);
- }
- }
- else if(cMap[downY3][leftX] == 5 || cMap[downY3][rightX] == 5)
- {
- if(!flying)
- {
- if(!onGround)
- {
- home.landing = true;
- charArt.gotoAndStop("land");
- jlt = getTimer();
- }
- traction = -1;
- setY(traction);
- }
- }
- else if(cMap[downY3][leftX] == 6 || cMap[downY3][rightX] == 6)
- {
- if(!flying)
- {
- if(!onGround)
- {
- home.landing = true;
- charArt.gotoAndStop("land");
- jlt = getTimer();
- }
- traction = 1;
- setY(traction);
- }
- }
- else if(!onSlope)
- {
- jt = getTimer();
- onGround = false;
- }
- _loc2_.render();
- _parent._parent.ticks = _parent._parent.ticks + 1;
- }
- };
-